package ru.vt;

import ru.chezclif.lern.conread.Preconditions;
import ru.vt.data.Config;
import ru.vt.utils.BeanUtils;


/**
 * @author Vit
 *Бин, отображающий загруженные данные из файла
 */
public class PresentationRightBean {

    /**
     * Название загруженного файла с конфигами
     */
    private String fileName = "";

    /**
     * Проежуточный конфиг для манипуляций
     */
    private Config deltaConfig = null;

    /**
     * Утвержденный конфиг сохранятеся в хранилище, промежуточный конфиг очищается
     */
    public void extractSettings() {
        MenuLeftBean menuLeftBean = (MenuLeftBean) BeanUtils.getBean("menuleftbean");
        Preconditions.notNull(menuLeftBean);
        menuLeftBean.getLocalConfigList().add(new Config(this.deltaConfig));
        this.clearSettings();
        this.goEmptyPage();
    }

    /**
     * Промежуточный конфиг и переменные очищаются, откат на пустую страницу в правую сторону
     */
    public void cancelPresent(){
        this.clearSettings();
        this.goEmptyPage();
    }

    /**
     * Очистка переменных
     */
    public void clearSettings(){
        this.fileName="";
        this.deltaConfig=null;
    }

    /**
     * Перенаправляет на пустую страницу
     */
    public void goEmptyPage() {
        LegalBean legalBean = (LegalBean) BeanUtils.getBean("legalbean");
        Preconditions.notNull(legalBean);
        legalBean.setNowUsedPage(0);
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        Preconditions.notNull(fileName);
        this.fileName = fileName;
    }

    public Config getDeltaConfig() {
        return deltaConfig;
    }

    public void setDeltaConfig(Config deltaConfig) {
        this.deltaConfig = deltaConfig;
    }
}
